package com.hejielife.builder;

/**
 * <hr>
 * 建造者:<br>
 * 将一个复杂对象的构建与它的表示分离，使得同样的构建过程可以创建不同的表示。
 * <hr>
 * 适用性 :<br>
 * 1.当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。<br>
 * 2.当构造过程必须允许被构造的对象有不同的表示时。
 * 
 */
public class Client {
	public static void main(String[] args) {
		PersonDirector pb = new PersonDirector();
		Person person = pb.constructPerson(new ManBuilder());
		System.out.println(person.getHead());
		System.out.println(person.getBody());
		System.out.println(person.getFoot());
	}
}
